#!usr/bin/env python  
# -*- coding:utf-8 _*-
""" 
@author:robot
@file: splice02_sole_type.py 
@version:
@time: 2022/02/16 
"""
from TapClientCaseData.ColumnGenerateData.dynamic.splice06_sqlserver.splice01_category_type import *

__all__ = [
    'SOLE_SQLSERVER_TYPE_TINYINT', 'SOLE_SQLSERVER_TYPE_SMALLINT', 'SOLE_SQLSERVER_TYPE_INT',
    'SOLE_SQLSERVER_TYPE_BIGINT', 'SOLE_SQLSERVER_TYPE_DECIMAL', 'SOLE_SQLSERVER_TYPE_NUMERIC',
    'SOLE_SQLSERVER_TYPE_BIT', 'SOLE_SQLSERVER_TYPE_SMALLMONEY', 'SOLE_SQLSERVER_TYPE_MONEY',

    'SOLE_SQLSERVER_TYPE_FLOAT', 'SOLE_SQLSERVER_TYPE_REAL',

    'SOLE_SQLSERVER_TYPE_DATE', 'SOLE_SQLSERVER_TYPE_DATETIMEOFFSET', 'SOLE_SQLSERVER_TYPE_DATETIME2',
    'SOLE_SQLSERVER_TYPE_SMALLDATETIME', 'SOLE_SQLSERVER_TYPE_DATETIME', 'SOLE_SQLSERVER_TYPE_TIME',

    'SOLE_SQLSERVER_TYPE_CHAR', 'SOLE_SQLSERVER_TYPE_VARCHAR', 'SOLE_SQLSERVER_TYPE_TEXT',

    'SOLE_SQLSERVER_TYPE_NCHAR', 'SOLE_SQLSERVER_TYPE_NVARCHAR', 'SOLE_SQLSERVER_TYPE_NTEXT',

    'SOLE_SQLSERVER_TYPE_BINARY', 'SOLE_SQLSERVER_TYPE_VARBINARY', 'SOLE_SQLSERVER_TYPE_IMAGE',

    # 'SOLE_SQLSERVER_TYPE_CURSOR' 暂不支持
    # 'SOLE_SQLSERVER_TYPE_ROWVERSION', 'SOLE_SQLSERVER_TYPE_HIERARCHYID', 'SOLE_SQLSERVER_TYPE_UNIQUEIDENTIFIER', 暂不支持
    # 'SOLE_SQLSERVER_TYPE_SQL_VARIANT', 暂不支持
    'SOLE_SQLSERVER_TYPE_XML',
    # 'SOLE_SQLSERVER_TYPE_TABLE' 暂不支持
    # 'SOLE_SQLSERVER_TYPE_GEOMETRY', 'SOLE_SQLSERVER_TYPE_GEOGRAPHY' 暂不支持
]

print(f'SQLSERVER TYPE COUNT IS: {len(__all__)}')
# 使用 ALL_TYPE 进行列表生成式
SOLE_SQLSERVER_TYPE_LIST = [[PK, ONE_TYPE] for ONE_TYPE in SQLSERVER_ALL_TYPE[1:]]

# SOLE EXACT_NUMERICS
SOLE_SQLSERVER_TYPE_TINYINT = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[0])
SOLE_SQLSERVER_TYPE_SMALLINT = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[1])
SOLE_SQLSERVER_TYPE_INT = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[2])
SOLE_SQLSERVER_TYPE_BIGINT = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[3])
SOLE_SQLSERVER_TYPE_DECIMAL = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[4])
SOLE_SQLSERVER_TYPE_NUMERIC = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[5])
SOLE_SQLSERVER_TYPE_BIT = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[6])
SOLE_SQLSERVER_TYPE_SMALLMONEY = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[7])
SOLE_SQLSERVER_TYPE_MONEY = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[8])

# SOLE APPROXIMATE_NUMERICS
SOLE_SQLSERVER_TYPE_FLOAT = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[9])
SOLE_SQLSERVER_TYPE_REAL = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[10])

# SOLE DATE_AND_TIME
SOLE_SQLSERVER_TYPE_DATE = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[11])
SOLE_SQLSERVER_TYPE_DATETIMEOFFSET = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[12])
SOLE_SQLSERVER_TYPE_DATETIME2 = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[13])
SOLE_SQLSERVER_TYPE_SMALLDATETIME = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[14])
SOLE_SQLSERVER_TYPE_DATETIME = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[15])
SOLE_SQLSERVER_TYPE_TIME = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[16])

# SOLE CHARACTER_STRINGS
SOLE_SQLSERVER_TYPE_CHAR = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[17])
SOLE_SQLSERVER_TYPE_VARCHAR = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[18])
SOLE_SQLSERVER_TYPE_TEXT = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[19])

# SOLE UNICODE_CHARACTER_STRINGS
SOLE_SQLSERVER_TYPE_NCHAR = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[20])
SOLE_SQLSERVER_TYPE_NVARCHAR = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[21])
SOLE_SQLSERVER_TYPE_NTEXT = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[22])

# SOLE BINARY_STRINGS
SOLE_SQLSERVER_TYPE_BINARY = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[23])
SOLE_SQLSERVER_TYPE_VARBINARY = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[24])
SOLE_SQLSERVER_TYPE_IMAGE = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[25])

# SOLE OTHER_DATA_TYPES
SOLE_SQLSERVER_TYPE_CURSOR = "CAN'T CREATE"
# SOLE_SQLSERVER_TYPE_ROWVERSION = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[26])
# SOLE_SQLSERVER_TYPE_HIERARCHYID = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[27])
# SOLE_SQLSERVER_TYPE_UNIQUEIDENTIFIER = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[28])
# SOLE_SQLSERVER_TYPE_SQL_VARIANT = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[29])
SOLE_SQLSERVER_TYPE_XML = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[26])
SOLE_SQLSERVER_TYPE_TABLE = "CAN'T CREATE"
# SOLE_SQLSERVER_TYPE_GEOMETRY = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[31])
# SOLE_SQLSERVER_TYPE_GEOGRAPHY = generate_columns_data(SOLE_SQLSERVER_TYPE_LIST[32])
